home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / base / fntguide.tex / node27_mn.html < prev    next >
Text File  |  1995-03-15  |  5KB  |  112 lines

  1.  
  2. <H2><A ID="SECTION00062000000000000000"><tex2html_anchor_invisible_mark></A>
  3. <A ID="Sec:encode.def"><tex2html_anchor_mark></A><BR>
  4. Encoding definition files
  5. </H2><FONT SIZE="+4"><I>
  6.  
  7. <#622#><tex2html_image_mark>#tex2html_accent_inline1844#<#622#> Some aspects of the contents of font definition files
  8. are still under development.  Therefore, the current versions of the
  9. files |OT1enc.def| and |T1enc.def| are temporary versions and should
  10. not be used as models for producing further such files.  For further
  11. information you should read the documentation in |ltoutenc.dtx|.
  12.  
  13. The declarations in the encoding definition file are  responsible for
  14. declaring the encoding and telling L<SUP><SMALL>A</SMALL></SUP>T<SMALL>E</SMALL>X<#623#><#623#> how to produce characters
  15. in this encoding.
  16.  
  17. The |;SPMlt;ENC;SPMgt;enc.def| files should contain only commands from this
  18. section.  As with the font definition file commands, it is also
  19. possible (although normally not necessary) to use these declarations
  20. directly within a class or package file.
  21.  
  22. <#624#>decl<#624#>
  23.    ||
  24. The |;SPMlt;ENC;SPMgt;enc.def| file should announce itself with a |command, described in <B><tex2html_image_mark>#tex2html_accent_inline1845#</B>.  For example:
  25. <#628#>tex2html_preform<#628#><tex2html_verbatim_mark>verbatim64#
  26. <#630#>decl<#630#>
  27. | | <#631#>encoding<#631#> <#632#>text-settings<#632#>
  28.                        <#633#>math-settings<#633#>
  29.  
  30. Declares a new encoding scheme <#635#>encoding<#635#>.
  31.  
  32. The <#636#>text-settings<#636#> are
  33. declarations which are executed every time || changes the
  34. encoding to be <#637#>encoding<#637#>.
  35.  
  36. The <#638#>math-settings<#638#> are similar but are for math alphabets. They
  37. are executed whenever a math alphabet with this encoding is
  38. called.
  39.  
  40. Spaces within the arguments are ignored to avoid surplus
  41. spaces in the document. If a real space is necessary
  42. use | |.
  43.  
  44. Example:
  45. <#639#>tex2html_preform<#639#><tex2html_verbatim_mark>verbatim65#
  46. Some author commands need to change their definition depending on
  47. which encoding is currently in use.  For example, in the |OT1|
  48. encoding, the letter `Æ' is in slot |;SPMquot;1D|, whereas in the |T1|
  49. encoding it is in slot |;SPMquot;C6|.  So the definition of |Æ| has to
  50. change depending on whether the current encoding is |OT1| or |T1|.
  51. The following commands allow this to happen.
  52.  
  53. <#641#>decl<#641#>
  54.    || <#642#>cmd<#642#> <#643#>encoding<#643#>
  55.    <#644#>num<#644#> <#645#>default<#645#> <#646#>definition<#646#>
  56. This command is like | |, except that it defines a
  57. command which is specific to one encoding.  For example, the
  58. definition of || in the |OT1| encoding is:
  59. <#648#>tex2html_preform<#648#><tex2html_verbatim_mark>verbatim66#|| takes the same optional arguments as
  60. | |.
  61.  
  62. The resulting command is
  63. robust, even if the code in <#650#>definition<#650#> is fragile.
  64.  
  65. It does not produce an error if the command has already
  66. been defined but logs the redefinition in the transcript file.
  67.  
  68. <#651#>decl<#651#>[1994/12/01]
  69.    || <#652#>cmd<#652#> <#653#>encoding<#653#>
  70.    <#654#>num<#654#> <#655#>default<#655#> <#656#>definition<#656#>
  71. This command is the same as ||, except that
  72. if <#658#>cmd<#658#> is already defined in encoding <#659#>encoding<#659#>, then the
  73. definition is ignored.
  74.  
  75. <#660#>decl<#660#>
  76.    || <#661#>cmd<#661#> <#662#>encoding<#662#> <#663#>slot<#663#>
  77. This command defines a text symbol with slot <#665#>slot<#665#> in the
  78. encoding.  For example, the definition of |ß| in the |OT1| encoding
  79. is:
  80. <#666#>tex2html_preform<#666#><tex2html_verbatim_mark>verbatim67#It does not produce an error if the command has already
  81. been defined but logs the redefinition in the transcript file.
  82.  
  83. <#668#>decl<#668#>
  84.    || <#669#>cmd<#669#> <#670#>encoding<#670#> <#671#>slot<#671#>
  85. This command declares a text accent, with the accent taken from slot
  86. <#673#>slot<#673#> in the encoding.  For example, the definition of ||̈ in
  87. the |OT1| encoding is:
  88. <#674#>tex2html_preform<#674#><tex2html_verbatim_mark>verbatim68#It does not produce an error if the command has already
  89. been defined but logs the redefinition in the transcript file.
  90.  
  91. <#676#>decl<#676#>
  92.    || <#677#>cmd<#677#> <#678#>encoding<#678#> <#679#>letter<#679#>
  93.                            <#680#>slot<#680#>
  94. This command declares that the composite letter formed from applying
  95. <#682#>cmd<#682#> to <#683#>letter<#683#> is defined to be simply slot <#684#>slot<#684#> in the
  96. encoding.   The <#685#>letter<#685#> should be a single letter (such as |a|) or
  97. a single command (such as |ı|).
  98.  
  99. For example, the definition of |á|
  100. in the |T1| encoding could be declared like this:
  101. <#687#>tex2html_preform<#687#><tex2html_verbatim_mark>verbatim69#
  102. The <#689#>cmd<#689#> should have been previously declared with
  103. ||, or as a one-argument ||.
  104.  
  105. <#690#>decl<#690#>[1994/12/01]
  106.    || <#691#>cmd<#691#> <#692#>encoding<#692#> <#693#>letter<#693#>
  107.                            <#694#>definition<#694#>
  108. This is a more general form of ||, which allows for 
  109. an arbitrary <#696#>definition<#696#>, not just a <#697#>slot<#697#>.  The main use for this 
  110. is to allow accents on |i| to act like accents on |ı|, for example:
  111. <#698#>tex2html_preform<#698#><tex2html_verbatim_mark>verbatim70#It has the same restrictions as ||.
  112. </I></FONT>